# coding=utf8
from Busqueda import *
from Resultado import *
from ProcesadorDeTweets import *

class Buscador:
	def __init__(self, catalogo):
		self._catalogo = catalogo

	def catalogo(self):
		return self._catalogo

	def crearBusquedaPara(self, unProducto):
		if unProducto not in self._catalogo:
			raise Exception("No es posible buscar productos que no pertenezcan al catálogo")
			
		return Busqueda(unProducto)

	def buscar(self, busqueda):
	
		if busqueda.producto() not in self._catalogo:
			raise Exception("No es posible buscar productos que no pertenezcan al catálogo")
	
		procesador = ProcesadorDeTweets()
		datosDeCompra = procesador.obtenerDatosDeCompraPara(busqueda.producto())
		resultado = self._crearResultadosPara(busqueda.producto(), datosDeCompra)

		return resultado

	def _crearResultadosPara(self, producto, datosDeCompra):
		return Resultado(producto, datosDeCompra)
